﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DataTransferObject;
using DataTransferObject.DiaryAndTrackingTask.SupportClassForDiary;

namespace Engine
{
    public abstract class NLPAlgorithm
    {
        #region Attributes
        protected String _taskInputTxt;
        protected String _originalInputTxt;
        protected Task _taskResult;
        protected JskeEvent _eventResult;
        #endregion

        

        #region Essential Methods
        public abstract Object run();

        protected abstract void recognizeKeyword();
        protected abstract void recognizeValue();
        protected abstract void heuristicEnhancement();

        protected abstract void constrainValue();
        protected abstract void constrainValueScope();
        protected abstract void constrainValueUnit();
        protected abstract void chooseBestValue();
        #endregion
    }
}
